package com.ssy.lingxi.contract.model.vo.manage.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;

/**
 * 更新采购物流VO
 * @author 伍将
 * @date 2021/2/25
 * @version 2.0.0
 */
public class PurchaseMaterielUpdateVO implements Serializable {
    private static final long serialVersionUID = -1869025986049657299L;

    /**
     * id（为0代表新增）
     */
    @NotNull(message = "采购物料id不能为空")
    @PositiveOrZero(message = "采购物料id不能为空")
    private Long id;
    /**
     * 物料(商品)id
     */
    @NotNull(message = "物料(商品)id不能为空")
    private Long materielId;
    /**
     * 物料(商品)编号
     */
    @NotBlank(message = "物料(商品)编号不能为空")
    private String materielNo;

    /**
     * 物料名称
     */
    @NotBlank(message = "物料名称不能为空")
    private String materielName;

    /**
     * 规格型号
     */
    private String type;

    /**
     * 品类
     */
    private String category;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 单位
     */
    @NotBlank(message = "单位不能为空")
    private String unit;

    /**
     * 是否含税：0-否，1-是
     */
    @NotNull(message = "是否含税不能为空")
    @PositiveOrZero(message = "是否含税不能为空")
    private Integer isHasTax;

    /**
     * 税率
     */
    @NotNull(message = "税率不能为空")
    @PositiveOrZero(message = "税率不能为空")
    private Double taxRate;

    /**
     * 采购数量
     */
    @NotNull(message = "采购数量不能为空")
    @Positive(message = "采购数量不能为空")
    private Double purchaseCount;

    /**
     * 单价(含税)
     */
    @NotNull(message = "单价不能为空")
    @Positive(message = "单价不能为空")
    private Double price;

    /**
     * 授标数量
     */
    @NotNull(message = "授标数量不能为空")
    @Positive(message = "授标数量不能为空")
    private Double bidCount;

    /**
     * 授标金额(含税)
     */
    @NotNull(message = "授标金额不能为空")
    @Positive(message = "授标金额不能为空")
    private Double bidAmount;

    /**
     * 关联报价商品
     */
    private String associatedGoods;

    /**
     * 关联数据id
     */
    private Long associatedDataId;

    /**
     * 关联规格型号
     */
    private String associatedType;

    /**
     * 关联品类
     */
    private String associatedCategory;

    /**
     * 关联品牌
     */
    private String associatedBrand;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getMaterielId() {
        return materielId;
    }

    public void setMaterielId(Long materielId) {
        this.materielId = materielId;
    }

    public String getMaterielNo() {
        return materielNo;
    }

    public void setMaterielNo(String materielNo) {
        this.materielNo = materielNo;
    }

    public String getMaterielName() {
        return materielName;
    }

    public void setMaterielName(String materielName) {
        this.materielName = materielName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Integer getIsHasTax() {
        return isHasTax;
    }

    public void setIsHasTax(Integer isHasTax) {
        this.isHasTax = isHasTax;
    }

    public Double getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(Double taxRate) {
        this.taxRate = taxRate;
    }

    public Double getPurchaseCount() {
        return purchaseCount;
    }

    public void setPurchaseCount(Double purchaseCount) {
        this.purchaseCount = purchaseCount;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Double getBidCount() {
        return bidCount;
    }

    public void setBidCount(Double bidCount) {
        this.bidCount = bidCount;
    }

    public Double getBidAmount() {
        return bidAmount;
    }

    public void setBidAmount(Double bidAmount) {
        this.bidAmount = bidAmount;
    }

    public String getAssociatedGoods() {
        return associatedGoods;
    }

    public void setAssociatedGoods(String associatedGoods) {
        this.associatedGoods = associatedGoods;
    }

    public Long getAssociatedDataId() {
        return associatedDataId;
    }

    public void setAssociatedDataId(Long associatedDataId) {
        this.associatedDataId = associatedDataId;
    }

    public String getAssociatedType() {
        return associatedType;
    }

    public void setAssociatedType(String associatedType) {
        this.associatedType = associatedType;
    }

    public String getAssociatedCategory() {
        return associatedCategory;
    }

    public void setAssociatedCategory(String associatedCategory) {
        this.associatedCategory = associatedCategory;
    }

    public String getAssociatedBrand() {
        return associatedBrand;
    }

    public void setAssociatedBrand(String associatedBrand) {
        this.associatedBrand = associatedBrand;
    }
}
